package com.huike.clues.domain.dto.my;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.huike.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;

import java.util.Date;
import java.util.Map;

/**
 * 字典导出参数DTO
 */
@Data
public class DictExportDTO extends BaseEntity {

    @ApiParam(name = "dictName", value = "字典名称", required = true)
    private String dictName;  // 字典名称（必填）

    @ApiParam(name = "dictType", value = "字典类型", required = true)
    private String dictType;  // 字典类型（必填）

    @ApiParam(name = "dictId", value = "字典主键")
    private Long dictId;  // 字典主键（非必填，Long类型对应int64）

    /** 搜索值 */
    @JsonIgnore
    private String searchValue;

    /** 创建者 */
    @TableField(fill = FieldFill.INSERT)
    @ApiModelProperty("创建者")
    private String createBy;

    /** 创建时间 */
    @ApiModelProperty("创建时间")
    @TableField(fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /** 更新者 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty("更新者")
    private String updateBy;

    /** 更新时间 */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty("更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /** 备注 */
    @JsonIgnore
    private String remark;

    /** 请求参数 */
    @JsonIgnore
    private Map<String, Object> params;

    @ApiParam(name = "status", value = "状态（0正常 1停用）")
    private String status;  // 状态（非必填）


}